package com.study.spark.scala.chapter10

import com.study.spark.scala.chapter10.Scala05_Transform.User

object Scala05_Transform extends Parent with MyTrait {
  def main(args: Array[String]): Unit = {
    // TODO 隐式转换 - implicit  隐式机制（范围）
    // TODO 1.当前代码作用域

    // TODO 5.直接导入(最为快捷)
    import com.study.spark.scala.test.TestTransform._

    val user = getUser
    user.insterUser()
    user.updateUser()

  }

  class User{
    def insterUser(): Unit ={
      println("insterUser......")
    }
  }

//  implicit class UserExt(user: User){
//    def updateUser(): Unit ={
//      println("updataUser......")
//    }
//  }

  def getUser: User ={
    new User
  }




  }
    // TODO 2.父类或伴生对象
class Parent{
//    implicit class UserExt(user: User){
//      def updateUser(): Unit ={
//        println("updataUser......")
//      }
//    }
}

object Parent{
//      implicit class UserExt(user: User){
//        def updateUser(): Unit ={
//          println("updataUser......")
//        }
//      }
}

    // TODO 3.特征或伴生对象
trait MyTrait{
//        implicit class UserExt(user: User){
//          def updateUser(): Unit ={
//            println("updataUser......")
//          }
//        }
}
object MyTrait{
//          implicit class UserExt(user: User){
//            def updateUser(): Unit ={
//              println("updataUser......")
//            }
//          }
}
    // TODO 4.包对象: chapter10
